Subject: SDLC Oddities

From: "jim (j.) cobban" <[email-masked]>
Date: Fri, 30 Jun 1995 12:55:00 -0400

Some people have expressed an interest in a list of obscure deviations in the
implementation of SDLC from the international standards which SDLC otherwise
conforms to, and which are referenced in the SDLC General Information
manual.  In noting these deviations I am not making any moral or technical
judgement.  There are excellent reasons for some of them, others may just be
differences of interpretation of the text of the standards, and in any event
we are stuck with them.  I publish this list only because I have not seen
this information documented anywhere.

ISO 3309
--------
Information processing systems - Data communication - High-level data link
control procedures - Frame structure

SDLC as implemented by IBM violates this specification in that:

 1) the RIM response frame from an unloaded front-end processor
    carries the No-station address, all zeroes.  This is a violation of
    paragraph 5.3 "The no-station address shall never be assigned to a data
    station. The no-station address may be used ... when it is intended that
    no data station react or respond to a frame ..." and yet the front-end
    certainly expects that the loading host will react to the RIM.  This is
    a design concern in that the communications chip must be programmed to
    receive all frames, rather than just those with the expected address.

 2) on INN links with the echo suppresion feature the high order bit of the
    address field is set to 0 in frames flowing from the primary station
    (SNRM[E] sender) and to 1 in frames flowing from the secondary station.
    Paragraph 3.2 specifies "In command frames, the address shall identify
    the data station(s) for which the command is intended.  In response
    frames, the address shall identify the data station from which the
    response originated."  However clearly the great value of the
    echo-suppression feature clearly justifies this violation.

ISO 4335
--------
Information processing systems - Data communication - High-level data link
control elements of procedures

SDLC as implemented by IBM violates this specification in that:

 3) the way the Unnumbered Poll frame is used in the 3174 group poll
    feature does not exactly match this specification.  In particular
    paragraph 7.3.1.9 specifies "If the UP command has the P bit set to "1",
    each addressed secondary/combined station shall respond with at least
    one frame ...".  The 3174 only responds with frames from a single
    station address, not from all station addresses.  However this is
    a matter of interpretation, and since noone else has implemented this
    frame at all, this is not a real concern.

 4) on a PU 4 link, if the PU 4 is not loaded, it responds to an XID
    poll with FRMR.  Paragraph 7.3.2.2 specifies "The FRMR response shall be
    used by the secondary/combined station in an operational mode ..."
    Operational mode is defined in paragraph 5.1 to include NRM, ARM, and
    ABM.  Since the link is in NDM mode at the point this response is
    generated, it is not in an operational mode, and therefore FRMR is not
    an allowed frame.  IBM's usage of this frame (then called CMDR) predates
    its adoption into the standards so who is to say which is right.

ISO 7809
--------
Information processing systems - Data communication - High-level data link
control procedures - Consolidation of classes of procedures

This standard elaborates on 4335 and provides some additional guidance.
Because of overlap the two points raised under 4335 are also conflicts with
7809.